package com.atm.atmsys.Service;


import com.atm.atmsys.dto.*;
import com.atm.atmsys.entity.AccountInfo;
import com.atm.atmsys.entity.PageResult;

import java.util.List;

public interface AccountService {
    //添加账户
    void addAccount(AccountInfo accountInfo);

    //ATM登录
    AccountInfo login(ATMLoginDTO atmLoginDTO);


    //获取所有卡号
    List<String> getAllCardNO();

    //根据卡号删除账户
    void deleteAccount(String cardno);

    //更新账户状态
    void updateAccountStatus(AccountStatusDTO accountStatusDTO);

    //根据卡号获取余额
    String getBalanceByCardNO(String cardNo);

    //存款
    void saveMoney(SaveMoneyDTO saveMoneyDTO);


    //根据卡号获取账户状态
    String getAccountStatusByCardNO(String cardNo);

    //取钱
    void drawMoney(DrawMoneyDTO drawMoneyDTO);

    //根据卡号转移账户
    void transfer(AccountTransDTO accountTransDTO);

    //根据身份证号获取卡号
    List<String> getCardNOByIdentification(String identification);

    //根据卡号判断是否存在
    AccountInfo getAccountByCardNO(String cardNo);


    //查询所有账户
    PageResult pageQueryAccount(AccountPageDTO accountPageDTO);

    //查询用户账户
    PageResult pageQueryUserAccount(YinLianAccountPageDTO yinLianAccountPageDTO);
}
